#include "StdAfx.h"
#include "Console.h"

boost::signal<void()> CA::Console::OnRequestInit;
boost::signal<void()> CA::Console::OnRequestShow;
boost::signal<void()> CA::Console::OnRequestCls;
boost::signal<void()> CA::Console::OnRequestHide;
boost::signal<void()> CA::Console::OnRequestShutdown;
boost::signal<void(const std::string& msg)> CA::Console::OnRequestWriteLine;
boost::signal<void(const std::string& cmd)> CA::Console::OnRequestEval;
// boost::signal<void(const std::string&)> CA::Console::OnSetClipboardData;
// boost::signal<std::string()> CA::Console::OnGetClipboardData;

void CA::Console::Init()
{
	OnRequestInit();
}

void CA::Console::Show()
{
	OnRequestShow();
}

void CA::Console::Hide()
{
	OnRequestHide();
}

void CA::Console::Shutdown()
{
	OnRequestShutdown();
}

void CA::Console::Print( const std::string& msg )
{
	OnRequestWriteLine(msg);
}

void CA::Console::Eval( const std::string& cmd )
{
	OnRequestEval(cmd);
}

void CA::Console::Cls()
{
	OnRequestCls();
}

// void CA::Console::SetClipboardData( const std::string& str)
// {
// 	OnSetClipboardData(str);
// }
// 
// std::string CA::Console::GetClipboardData()
// {	
// 	static std::string empty;	
// 	
// 	if(OnGetClipboardData.empty())return empty;
// 	else return OnGetClipboardData();
// }